/**
 * represents no value
 **/
public class Nothing<T> implements Choice<T> {

  public Nothing() { }

  /**
   * determines if this nothing is something
   * @return boolean false
   **/
  public boolean isSomething() {
    return false;
  }

  /**
   * returns the value enclosed in this nothing, which there is none
   * @throws RuntimeException
   * @return T throws an error everytime
   **/
  public T getValue() {
    throw new RuntimeException();
  }
}
